import { defineStore } from 'pinia'
import { ref } from 'vue'
import type { User } from '@/types/user'

export const useUserStore = defineStore(
  'cp-user',
  () => {
    const user = ref<User>()
    // 改变用户信息
    const setUser = (u: User) => {
      user.value = u
    }
    const delUser = () => {
      // 删除用户信息
      user.value = undefined
    }
    // 暴露 数据 和 方法
    return { user, setUser, delUser }
  },
  {
    // 当数据发生变化时 就会触发
    // 所有代码多会持久化  paths: ['user.token'], 到本地
    persist: {
      paths: ['user.token'],
    },
  }
)
